package com.Set;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class COllectionsDemo2 {
    public static void main(String[] args) {
        /**
         * 3.将List集合中的元素按照默认规则排序
         * 数字就是升序，字符串就是按照首字母的ASCII码大小进行盘排序。数字 < 大写字母 < 小写字母 < 文字
         */

        /**
         * 4.将自定义类型对象集合按照自定义规定排序
         */
        List<Apple> apple=new ArrayList<>();
        Apple apple1=new Apple("青苹果",100,12.0);
        Apple apple2=new Apple("红苹果",120,18.0);
        Apple apple3=new Apple("黄苹果",60,6.0);
        Apple apple4=new Apple("黑苹果",30,5.0);
        //批量添加元素
        Collections.addAll(apple,apple1,apple2,apple3,apple4);
        //1.第一种使类继承Compabe接口，重写copareTo方法
        Collections.sort(apple);
        System.out.println(apple);

        //2.使用Collections自带的比较器Compare
        Collections.sort(apple, new Comparator<Apple>() {
            @Override
            public int compare(Apple o1, Apple o2) {
                //降序排列
                return Double.compare(o2.getPrice(), o1.getPrice());
            }
        });
        System.out.println(apple);

    }
}
